using System;
using System.Collections.Generic;
using System.Text;

namespace TimelineNet.Library.Themes {
    [Serializable()]
    public class ThemeEvent {

        public ThemeEventInstant ThemeEventInstant;
        public ThemeEventTrack ThemeEventTrack;
        public ThemeEventDuration ThemeEventDuration;
        public ThemeEventLabel ThemeEventLabel;
        public ThemeEventHighlightColors ThemeEventHighlightColors;
        public ThemeEventBubble ThemEventBubble;
        private string themeClientID;
        public string ThemeClientID {
            get { return themeClientID; }
            set { themeClientID = value; }
        }
        public override string ToString() {
            System.Text.StringBuilder sb = new System.Text.StringBuilder();
            if(ThemeEventInstant != null) {
                ThemeEventInstant.ThemeClientID = this.ThemeClientID;
                sb.Append(ThemeEventInstant.ToString());
            }
            if(ThemeEventTrack != null) {
                ThemeEventTrack.ThemeClientID = this.ThemeClientID;
                sb.Append(ThemeEventTrack.ToString());
            }
            if(ThemeEventDuration != null) {
                ThemeEventDuration.ThemeClientID = this.ThemeClientID;
                sb.Append(ThemeEventDuration.ToString());
            }
            if(ThemeEventLabel != null) {
                ThemeEventLabel.ThemeClientID = this.ThemeClientID;
                sb.Append(ThemeEventLabel.ToString());
            }
            if(ThemeEventHighlightColors != null) {
                ThemeEventHighlightColors.ThemeClientID = this.ThemeClientID;
                sb.Append(ThemeEventHighlightColors.ToString());
            }
            if(ThemEventBubble != null) {
                ThemEventBubble.ThemeClientID = this.ThemeClientID;
                sb.Append(ThemEventBubble.ToString());
            }
            return sb.ToString();
        }
    }
}